package com.probiz.estore.attribute.dao;

import java.util.List;

import com.probiz.estore.common.model.attribute.Attribute;
import com.probiz.estore.core.dao.GenericDao;
/**
 * Dao interface for Attribute.
 */
public interface AttributeDao extends GenericDao<Attribute> {
	/**
	 * 根据属性编码获得属性
	 * @param attributeCode
	 * @return
	 */
	public Attribute getAttributeByCode(String attributeCode);
	
	/**
	 * 根据模块获得所有属性
	 * @param attributeType
	 * @return
	 */
	public List<Attribute> getAttributes(Short attributeType);
	/**
	 * 根据模块获得所有激活属性
	 * @param attributeType
	 * @return
	 */
	public List<Attribute> getActiveAttributes(Short attributeType);
	
	/**
	 * 获得Product moudl不关联的attribute，原因是由AttributeDefiner.tag取代后台统一管理属性引起的，这是正常的。定时器方法
	 * @return
	 */
	public List<Attribute> getInvalidProductAttributes();
	
}